package cn.coconet.clothingguide.tool;

import cn.coconet.clothingguide.model.Clothing;
import cn.coconet.clothingguide.repository.ClothingRepository;
import dev.langchain4j.agent.tool.Tool;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.util.List;

// AI可调用的工具（用于查询商品）
@Component
public class ClothingTool {

    @Autowired
    private ClothingRepository clothingRepository;

    /**
     * 查询符合条件的服装商品
     * LangChain4j会将此方法识别为工具，AI可自动调用
     */
    @Tool(
        name = "查询服装商品"
    )
    public String searchClothing(
            String category,
            String style,
            String color,
            Double maxPrice
    ) {
        // 调用仓库查询商品
        List<Clothing> results = clothingRepository.findByFilters(category, style, color, maxPrice);
        
        if (results.isEmpty()) {
            return "未找到符合条件的商品，请尝试其他筛选条件~";
        }
        
        // 格式化结果为自然语言
        StringBuilder sb = new StringBuilder("为您找到以下商品：\n");
        for (Clothing c : results) {
            sb.append("- ")
              .append(c.getName())
              .append("（")
              .append(c.getColor()).append("，")
              .append(c.getStyle()).append("风，")
              .append(c.getMaterial()).append("材质，")
              .append("¥").append(c.getPrice())
              .append("）\n");
        }
        return sb.toString();
    }
}